package sgc;

/**
 * @author Diego Pereira do Nascimento e Leonardo Santos Martins
 * 
 * Descrição da classe::
 * Está classe tem como propósito armazenar as informação da residência de apenas uma Pessoa
 * 
 */
public class Endereco {
    
    private String rua;
    private int numero;
    private String cep;
    private String cidade;
    private String estado;
    
    // Construtor
    public Endereco(){
    }
    
    public Endereco(String rua, int num, String cep, String cid, String uf){
        this.rua = rua;
        this.numero = num;
        this.cep = cep;
        this.cidade = cid;
        this.estado = uf;
    }
    
    // Gets e Sets

    public String getRua() {
        return rua;
    }

    public void setRua(String log) {
        this.rua = log;// Log de logradouro
    }

    public int getNumero() {
        return numero;
    }

    public void setNumero(int num) {
        this.numero = num;
    }

    public String getCep() {
        return cep;
    }

    public void setCep(String cep) {
        this.cep = cep;
    }

    public String getCidade() {
        return cidade;
    }

    public void setCidade(String cid) {
        this.cidade = cid;
    }

    public String getEstado() {
        return estado;
    }

    public void setEstado(String uf) {
        this.estado = uf;
    }
    
    // toString
    public String toString() {
        return "Enderec::\n" + "\nRua: " + this.rua + "\nNúmero: " + this.numero + "\nCep: " + this.cep + "\nCidade: " + this.cidade + "\nEstado: " + this.estado;
    }
    
    // Demais métodos
    
    // Método criar - cria faz todas as perguntas necessárias para se cadastrar um endereço e ao final retorna um endereço
    public static Endereco criar(){
        String rua, uf, cep, cidade;
        Leitura ler = new Leitura();
        int num;
        
        System.out.println("Cadastro de Endereço::\n");
        System.out.println("Digite o número da casa: ");
        num = ler.lerInt();
        
        System.out.println("Digite o nome da rua: ");
        rua = ler.lerString();
        
        System.out.println("Digite o nome da cidade: ");
        cidade = ler.lerString();
        
        do{
            System.out.println("Digite a sigla do estado: ");
            uf = ler.lerString();
        }while(!Utilitario.validarEstado(uf));
        
        do{
            System.out.println("Digite o CEP da rua: ");
            cep = ler.lerString();
        }while(!Utilitario.validarCep(cep));
        
        Endereco end = new Endereco(rua, num, cep, cidade, uf);
        
        return end;
    }
    
}
